#ifndef __ADAPT_NEURON__
#define __ADAPT_NEURON__

#include "neuron.h"

class adaptneuron
{
  public:
  adaptneuron();
  virtual ~adaptneuron();

  void setMaxError(double);
  void setCycleMaxCount(int);
  virtual neuron& start(neuron&);
  void setExpSignal(int signalid, double val);

protected:
  double calcError(double fvalue, double svalue);
  double calcNeuronError();
  void sendAllSignals();

protected:
  double exp_signal[MAX_STUDY_SIGNAL_BUFFER];
  double maxError;
  double weight_step;
  int    cycle_max;
  neuron neuron_val;
private:
};

#endif // __ADAPT_NEURON__
